Ansible-এ কনফিগারেশন ফাইল তৈরি এবং ডিপ্লয় করা একটি সাধারণ কাজ, বিশেষ করে যখন সার্ভার, অ্যাপ্লিকেশন বা অন্যান্য সার্ভিসগুলোর সেটআপ অটোমেট করতে হয়। এটি করার জন্য Ansible-এ সাধারণত template
মডিউল ব্যবহার করা হয়, যেখানে Jinja2 টেম্পলেটের মাধ্যমে কনফিগারেশন ফাইল তৈরি এবং রিমোট হোস্টে ডিপ্লয় করা হয়। এখানে কনফিগারেশন ফাইল তৈরি এবং ডিপ্লয় করার একটি উদাহরণ দেখানো হলো।
প্রথমে, আপনার টেম্পলেট ফাইল তৈরি করতে হবে। টেম্পলেট ফাইল সাধারণত templates/
ডিরেক্টরিতে সংরক্ষণ করা হয় এবং এটি Jinja2 সিনট্যাক্স ব্যবহার করে।
templates/nginx.conf.j2
server {
listen {{ http_port }};
server_name {{ domain_name }};
location / {
proxy_pass http://{{ backend_server }};
}
}
বিশ্লেষণ:
{{ http_port }}
, {{ domain_name }}
, এবং {{ backend_server }}
ভ্যারিয়েবলগুলোর মাধ্যমে ডায়নামিক মান ব্যবহার করা হয়েছে।এরপর, আপনি একটি প্লেবুক তৈরি করবেন যেখানে template
মডিউল ব্যবহার করে টেম্পলেট ফাইলটি রিমোট হোস্টে ডিপ্লয় করবেন।
deploy_nginx.yml
---
- name: Deploy Nginx configuration file
hosts: webservers
become: yes
vars:
http_port: 80
domain_name: example.com
backend_server: 192.168.1.10
tasks:
- name: Copy Nginx configuration using template
template:
src: templates/nginx.conf.j2
dest: /etc/nginx/conf.d/nginx.conf
owner: root
group: root
mode: '0644'
- name: Restart Nginx service
service:
name: nginx
state: restarted
বিশ্লেষণ:
http_port
, domain_name
, এবং backend_server
ভ্যারিয়েবলগুলো প্লেবুকের vars
সেকশনে উল্লেখ করা হয়েছে।template
মডিউল:src
: টেম্পলেট ফাইলের পাথ (লোকাল সিস্টেমে)।dest
: রিমোট সিস্টেমে টেম্পলেট ফাইলটি কপি করার স্থান।owner
, group
, এবং mode
: টার্গেট ফাইলের মালিকানা এবং পারমিশন সেট করা হয়েছে।service
মডিউল ব্যবহার করা হয়েছে।এখন, প্লেবুক রান করে কনফিগারেশন ফাইল তৈরি এবং ডিপ্লয় করতে হবে।
ansible-playbook -i inventory deploy_nginx.yml
-i inventory
: এখানে আপনার ইনভেন্টরি ফাইলের পাথ দিতে হবে যা টার্গেট হোস্ট বা হোস্ট গ্রুপ নির্ধারণ করে।template
মডিউল ব্যবহার করে টেম্পলেট ফাইলটি রিমোট হোস্টে কপি করা এবং সেট করা।এই পদ্ধতি অনুসরণ করে, আপনি সহজেই কনফিগারেশন ফাইল তৈরি ও ডিপ্লয় করতে পারবেন। Ansible-এর টেম্পলেট মডিউল এবং প্লেবুক ব্যবহারে কনফিগারেশন ম্যানেজমেন্ট সহজ এবং কার্যকর হয়ে ওঠে।
আরও দেখুন...